package com.li.o2oSystem.service;

import java.util.List;

import com.li.o2oSystem.dto.ImageHolder;
import com.li.o2oSystem.dto.ProductExecution;
import com.li.o2oSystem.entity.Product;
import com.li.o2oSystem.exceptions.ProductOperationException;

public interface ProductService {
	/**
	 * 添加商品信息和图片处理
	 * @param product
	 * @param thumbnail
	 * @param thunbnailName
	 * @param productImgList
	 * @param productImgNameList
	 * @return
	 * @throws ProductOperationException
	 */
	ProductExecution addProduct(Product product,ImageHolder thumbnail,List<ImageHolder> productImgList) throws ProductOperationException;
	/**
	 * 根据商品id查询商品
	 * @param productId
	 * @return
	 */
	Product getProductById(long productId);
	/**
	 * 修改商品信息
	 * @param product
	 * @param thumbnail
	 * @param productImgList
	 * @return
	 * @throws ProductOperationException
	 */
	ProductExecution modifyProduct(Product product,ImageHolder thumbnail,List<ImageHolder> productImgList) throws ProductOperationException;
	/**
	 * 分页查询商品信息（可输入的条件：商品名（模糊）、商品状态、店铺Id、商品类别）
	 * @param productCondition
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	ProductExecution getProductList(Product productCondition,int pageIndex,int pageSize);
}
